2cac5b8229408dd20a10d308aa0dcffcca4e8156,src/main/java/org/eclipse/golo/compiler/JavaBytecodeUnionGenerator.java,JavaBytecodeUnionGenerator,makeMatchlikeTestMethod,#ClassWriter#UnionValue#boolean#,94

Before Change


        Label allEquals = new Label();
        Label notEqual = new Label();
        String target = value.getPackageAndClass().toJVMType();
        for (String member : value.getMembers()) {
          mv.visitVarInsn(ALOAD, i);
          mv.visitVarInsn(ALOAD, 0);
          mv.visitFieldInsn(GETFIELD, target, member, "Ljava/lang/Object;");

After Change



    if (value.hasMembers()) {
      mv = classWriter.visitMethod(ACC_PUBLIC, methName, argsSignature(value.getMembers().size()) + "Z", null, null);
      for (Member member : value.getMembers()) {
        mv.visitParameter(member.getName(), ACC_FINAL);
      }
      mv.visitCode();
      if (!result) {
        mv.visitInsn(ICONST_0);
      } else {
        int i = 1;
        Label allEquals = new Label();
        Label notEqual = new Label();
        String target = value.getPackageAndClass().toJVMType();
        for (Member member : value.getMembers()) {
          mv.visitVarInsn(ALOAD, i);
          mv.visitVarInsn(ALOAD, 0);
          mv.visitFieldInsn(GETFIELD, target, member.getName(), "Ljava/lang/Object;");